Programming a protection device for a molding machine

ABSTRACT

A system for programming a protection device for a molding machine includes a controller for actuating a plurality of molding machine actuators in an actuation sequence, each distinct actuation constituting a respective machine component actuation of an associated machine component. An HMI is operable to: present a GUI specific to a chosen machine component actuation; and for each of a plurality of other machine component actuations, define within the GUI, based on operator input, a rule specifying a state of the chosen machine component actuation relative to a state of the other machine component actuation for preventing interference between the two machine component actuations. The controller is configured, based on the rules defined within the GUI, to trigger an action, upon violation of any one of the rules, for reducing a risk of interference between the chosen machine component actuation and a respective one of the other machine component actuations.

TECHNICAL FIELD

The present disclosure relates to molding machines, and in particular toprogramming a protection device for a molding machine.

BACKGROUND

A molding machine may have many independently actuatable componentswhose actuation must be precisely coordinated to prevent interferencebetween the components. Interference between machine components occurswhen one machine component obstructs movement of another or when the twocomponents collide. Interference between machine components may also beconsidered to occur when a molded article associated with a machinecomponent obstructs, or is obstructed by, another machine component, orwhen a molded article associated with one machine component collideswith another machine component. Interference between machine componentsis generally undesirable as it may result in damage to the machine, lostproductivity or machine down-time.

One example of a molding machine having multiple independentlyactuatable components is an injection molding machine for molding apreform. This type of injection molding machine typically includes amold with two complementary halves: a first mold half having a femalecavity piece and a second mold half having a male core piece.

During a first stage of a molding sequence, the two mold halves aremated and clamped, with the female cavity piece and the male core piececollectively defining a preform-shaped molding cavity. Melted moldingmaterial is injected into the molding cavity and then cooled until themolding material hardens.

During a second stage of the molding sequence, the mold halves areseparated from one another for molded article (preform) removal. Becausecooling typically causes the molded article to shrink within the moldingcavity, the molded article may remain associated with the core piece ofthe mold when the mold halves are separated. To facilitate ejection, anejection mechanism such as a stripper sleeve or ejector pin may beactuated to dislodge the molded article from the core piece.

Premature actuation of the ejection mechanism could cause the actuatedmachine component (the stripper sleeve or ejector pin), or the ejectedpreform, to undesirably collide or otherwise interfere with another moldcomponent, such as the opposing mold half. Such interference couldresult in damage to the preform or machine components and may force themolding machine to be shut down.

To guard against such eventualities, a protection device may be used toensure that the mold halves have separated by a sufficient amount beforethe ejection mechanism is activated. A protection device may for exampletake the form of a controller that has been programmed to coordinateactuation of the molding machine components to avoid interference.Whenever an interference arises, e.g. due to variations in cycle timesor incremental changes in relative component positions over successivemachine cycles, the protection device (controller) may stop the machineto avoid possible damage thereto.

An ejection mechanism is one example of a component of a molding machinewhose actuation may warrant coordination with that of other machinecomponents to avoid interference, but many other examples of suchmachine components exist. For instance, some molding machines employ atake-off device or “end-of-arm tool” to facilitate removal and coolingof freshly molded articles from a mold half. Relative movement betweenthe mold halves and the take-off device may warrant precise control toavoid interference between them. Other independently actuatableinjection molding machine components include stripping devices (e.g.stripper sleeves or stripper rings) and multi-position mold cores.

Beyond injection molding machines, other molding machines havingindependently actuatable machine components whose actuation may warrantprecise control to avoid interference may include compression moldingmachines, injection-compression molding machines, and blow-moldingmachines.

Conventional mechanisms for programming a protection device (e.g.controller) to guard against machine component interference may becumbersome, e.g. requiring specialized knowledge of programminglanguages used for programming programmable logic controllers (such asIEC 61131-3), or may be very specific (“hard-coded”) to a particularmolding machine implementation.

SUMMARY

According to one aspect of the present disclosure, there is provided asystem comprising: a controller for actuating a plurality of actuatorsof a molding machine in an actuation sequence, each distinct actuationof one of the actuators during the actuation sequence constituting arespective machine component actuation of an associated machinecomponent; and a human-machine interface ‘HMI’ operable to: present agraphical user interface ‘GUI’ specific to a chosen machine componentactuation; and for each of a plurality of other machine componentactuations, define within the GUI, based on operator input, a rulespecifying a state of the chosen machine component actuation relative toa state of the other machine component actuation for preventinginterference between the two machine component actuations; wherein thecontroller is configured, based on the rules defined within the GUI, totrigger an action, upon violation of any one of the rules, for reducinga risk of interference between the chosen machine component actuationand a respective one of the other machine component actuations.

In another aspect of the present disclosure, there is provided a methodof programming a controller for a molding machine, the controller foractuating a plurality of actuators of the molding machine in anactuation sequence, each distinct actuation of one of the actuatorsduring the actuation sequence constituting a respective machinecomponent actuation, the method comprising: presenting a graphical userinterface ‘GUI’ specific to a chosen machine component actuation; foreach of a plurality of other machine component actuations, definingwithin the GUI, based on operator input, a rule specifying a state ofthe chosen machine component actuation relative to a state of the othermachine component actuation for preventing interference between the twomachine component actuations; and configuring the controller, based onthe rules defined within the GUI, to trigger an action, upon violationof any one of the rules, for reducing a risk of interference between thechosen machine component actuation and a respective one of the othermachine component actuations.

In some embodiments, the action is interrupting the actuation sequenceor generating a user notification at the HMI.

In some embodiments, the GUI comprises a table and each rule isrepresented as a row within the table.

In some embodiments, each rule specifies a temporal relationship betweenthe state of the chosen machine component actuation and the state of theother machine component actuation for preventing interference betweentwo machine component actuations. The temporal relationship may beexpressed using a BEFORE or AFTER operator.

In some embodiments, the state of the chosen machine component actuationis expressed, within the GUI, as a position of the associated machinecomponent actuated by the chosen machine component actuation, e.g. as anoffset from a reference position of the machine component.

In some embodiments, the state of the other machine component actuationis expressed, within the GUI, as a position of the associated machinecomponent actuated by the other machine component actuation, e.g. as anoffset from a reference position of the other machine component

In some embodiments, the state of the chosen machine component actuationor the state of the other machine component actuation is expressed,within the GUI, as completed.

In some embodiments, the molding machine is an injection molding machineand the plurality of other machine component actuations are selectedfrom a set of machine component actuations comprising: mold opening;mold closing; ejector forward; ejector back; stripping device forward;stripping device back; take-off device forward; take-off device back;mold core moving from a first molding position to a second moldingposition; and mold core moving from the second molding position to thefirst molding position.

In another aspect of the present disclosure, there is provided acomputer-readable medium storing instructions that, when executed by aprocessor of a computing device associated with a controller of amolding machine, the controller operable to actuate a plurality ofactuators of the molding machine in an actuation sequence, each distinctactuation of one of the actuators during the actuation sequenceconstituting a respective machine component actuation, cause theprocessor to: present a graphical user interface ‘GUI’ specific to achosen machine component actuation; for each of a plurality of othermachine component actuations, define within the GUI, based on operatorinput, a rule specifying a state of the chosen machine componentactuation relative to a state of the other machine component actuationfor preventing interference between the two machine componentactuations; and

configure the controller, based on the rules defined within the GUI, totrigger an action, upon violation of any one of the rules, for reducinga risk of interference between the chosen machine component actuationand a respective one of the other machine component actuations.

In some embodiments, the controller is part of the computing device.

Other features will become apparent from the drawings in conjunctionwith the following description.

DESCRIPTION OF THE DRAWINGS

In the figures, which illustrate non-limiting example embodiments:

FIG. 1 is a schematic diagram of a system for programming a protectiondevice for a molding machine;

FIG. 2 is partial cross-sectional view of an example molding machine,specifically an injection molding machine for molding a flip-topclosure, in conjunction with which the system of FIG. 1 may be used, ata first stage of operation;

FIG. 3 is a partial cross-sectional view of the injection moldingmachine of FIG. 2 at a later stage of operation in which machinecomponents are in different states of actuation from what is shown inFIG. 2;

FIGS. 4A and 4B are top views of the injection molding machine of FIG. 2at two subsequent stages of operation respectively showing in-moldclosing component for closing the lid of the flip-top closure atdifferent stages of actuation;

FIG. 5 is a schematic diagram of a computing device that may be used toimplement the system of FIG. 1;

FIG. 6 is a flowchart of operation of the system of FIG. 1 forprogramming a protection device for a molding machine;

FIG. 7 illustrates an example graphical user interface presented by ahuman-machine interface of the system of FIG. 1 during the operation ofFIG. 6;

FIG. 8 is a schematic depiction of a data structure generated by thesystem of FIG. 1 that may be used for programming the protection deviceof the molding machine; and

FIGS. 9, 10 and 11 illustrate further example graphical user interfacesthat may be presented by the human-machine interface of the system ofFIG. 1 during the operation of FIG. 6.

DETAILED DESCRIPTION OF THE NON-LIMITING EMBODIMENT(S)

In the description that follows, terms such as “upper,” “lower,”“lowermost,” “forward,” and “back,” used with respect to systemcomponents in the drawings should not be understood to necessarilyconnote a particular orientation of the components during use.

FIG. 1 schematically depicts a system 30 for programming a protectiondevice of a molding machine 100. The system 30 includes a human machineinterface 40 operatively coupled to a controller 50. The system 30 maybe effected using a single computing device, e.g. as depicted in FIG. 5(described below), or using multiple computing devices.

The human machine interface (HMI) 40 is a mechanism that allows a humanoperator to enter user input for specifying machine protectionconstraints 42 in the manner described below. A machine protectionconstraint is a rule regarding a state of actuation of one machinecomponent relative to a state of actuation of another component foravoiding an interference between the machine components. In thisdescription, all references to interference between (molding) machinecomponents should be understood to include interference betweenassociated molded articles and machine components. The HMI 40 may alsohave other related functions, such as displaying an operational state ofmolding machine 100 and presenting user notifications regarding possibleor actual interference between machine components arising during theoperation of molding machine 100.

The HMI 40 includes a display, such as a liquid crystal display (LCD),for presenting a graphical user interface (GUI) and a user inputmechanism, such as a keyboard and pointing device (e.g. a touchscreen ormouse), for entering user input, none of which are expressly depicted inFIG. 1. Example GUIs that may be presented by the HMI 40 for specifyingmachine protection constraints are illustrated in FIGS. 7, 9, 10 and 11,described below.

The controller 50 is a control system generally responsible forcontrolling the operation of molding machine 100. To that end, thecontroller 50 issues machine control commands 72 to the molding machine100, including commands for actuating various components of the moldingmachine 100 in an actuation sequence (e.g. an injection molding sequenceor cycle). The commands are communicated from the controller 50 to themolding machine 100 over a connection 70, which may for example be anelectrical cable (e.g. a shielded Ethernet category 5 e cable). Thecontroller 50 also periodically or continuously receives, via connection70, machine state information 74 indicative of the operational state ofthe molding machine 100, such as the current positions of variousactuated machine components.

The controller 50 also acts as a protection device for the moldingmachine 100. In that capacity, the controller 50 continuously monitorsthe state of various independently actuatable components of moldingmachine 100 and, upon detection of imminent or actual interferencebetween two or more machine components, takes measures for protectingthe molding machine 100. The measures may for example include ceasingthe operation of the molding machine 100 or issuing one or more usernotifications 64 to an operator of the molding machine 100 urgingremedial action. The user notifications may for example be audiblealarms, visual indicators, haptic notifications, or combinations ofthese. The remedial actions may include ceasing operation of the moldingmachine 100 or effecting other protection measures.

In support of its machine protection function, the controller 50 isconfigured to receive, from the HMI 40, machine protection constraints42 indicative of permissible states of actuation of components of themolding machine 100, relative to one another, for avoiding interferencebetween the components. The controller 50 is further designed toconfigure itself (or, more generally, to be configured), according tothe received constraints 42, to perform molding machine protection, aswill be described.

In the present embodiment, the molding machine 100 is an injectionmolding machine for molding a flip-top closure of the type used forclosing shampoo bottles for example. The injection molding machine 100is depicted, in different states of operation, in FIGS. 2, 3, 4A and 4B.

Referring to FIG. 2, the example injection molding machine 100 isdepicted at a first stage of operation in partial cross-sectional view.As illustrated, the injection molding machine 100 has two mold halves102 and 104. The first mold half 102, which is movable, includes inserts114, 115 for defining a lower portion of a flip-top closure 10. Thesecond mold half 104, which is stationary, includes inserts 146, 148 fordefining an upper portion of the flip-top closure 10. The closure 10,which is shown in side view in FIG. 2, has a body portion 12 and a lid14 interconnected by a living hinge 16.

The injection molding machine 100 also has, among other features, fourindependently actuatable machine components.

The first independently actuatable machine component of molding machine100 is mold half 102. Mold half 102 reciprocates between a mold openposition, as depicted in FIG. 2, and a mold closed position (notexpressly shown). In the mold open position, mold half 102 is separatedfrom mold half 104 by a distance D. The mold open position allows thelid 14 of the flip-top closure 10 to be closed and then ejected from themold. In the mold-closed configuration, mold half 102 abuts mold half104 so that mold inserts 114, 115 mate with mold inserts 146, 148respectively, collectively forming a flip-top closure-shaped mold cavityinto which molding material may be injected. Actuation of mold half 102to move away from or towards mold half 104 is referred to as “moldopening” or “mold closing” respectively.

The second independently actuatable machine component of molding machine100 is ejector 154. Ejector 154 reciprocates between an ejectionconfiguration (shown in FIG. 2) and a molding configuration (notexpressly shown). In the molding configuration, the lowermost, flat endof the ejector 154 is substantially flush with mold insert 148 to definea molding surface. The ejector 154 moves from the molding configurationto the ejection configuration as mold half 102 moves away from mold half104 during mold opening. This is done to urge the lid 14 portion of theflip-top closure 10 off the mold insert 148 and to keep the flip-topclosure 10 from separating from opposing mold half 102. The ejector 154is returned to a molding configuration before the mold is closed.Actuation of ejector 154 from the molding configuration to the ejectionconfiguration is referred to as “ejector forward” actuation. Actuationof ejector 154 in the opposite direction is referred to “ejector back”actuation. The ejector 154 may alternatively be referred to as a “partrelease pin.”

The third independently actuatable machine component of molding machine100 is stripper ring 124 (a form of stripping device). Stripper ring 124reciprocates between a retracted configuration, depicted in FIG. 2, andan extended configuration, as shown in FIG. 3 (described below). In theextended configuration, the stripper ring 124 and a core insert 116 movetogether towards mold half 104, to lift the lid 14 portion of theflip-top closure 10 off mold insert 115 while the core insert 116continues to support the body portion 12. This is done to position thelid 14 for in-mold closing, described below.

The fourth independently actuatable machine component of molding machine100 is in-mold lid closing device 106. The in-mold closing device 106 isa mechanism used to close the lid 14 of a freshly molded flip-topclosure 10 before ejection of the closure from the mold. The in-moldclosing device 106 reciprocates between a retracted or moldingconfiguration, depicted in FIGS. 2 and 3, and a fully extendedconfiguration (not expressly shown). In the retracted configuration, thein-mold closing device 106 is positioned so as not to interfere with theopening or closing of mold half 102.

In the fully extended configuration, a lid-closing tool 200 portion ofin-mold closing device 106 is extended to close the lid 14 of theflip-top closure 10. As it transitions between the retracted and thefully extended configurations, the in-mold closing device 106 causes thedistal lid-closing tool 200 to trace a two-dimensional lid closing path210 as depicted in FIG. 4A and to engage the lid 14 e.g. as depicted inFIG. 4B (as described below). This is achieved by coordinated actuationof two linear actuators 206, 208 that are offset from one another byninety degrees.

The four independently actuatable components recited above may beactuated by a variety of different actuators, such as hydraulic,pneumatic, or electric actuators, at least some of which are notexpressly depicted in FIGS. 2, 3, 4A, and 4B. In some cases, theactuators may be mechanically coupled to plates to which the actuatedcomponents are in turn mechanically coupled. The plates may facilitatesimultaneous actuation of many instances of the same machine componentwithin injection molding machine 100, e.g. when machine 100 isconfigured to a batch of identical flip-top closures 10 in a singlemolding cycle. The actuators may be referred to as axes.

Referring to FIG. 5, an example computing device 80 that may be used toimplement system 30 of FIG. 1 is schematically depicted. The computingdevice 80 may be an industrial PC including one or more processors 82 incommunication with memory 84 and a port 86. The processor(s) 82 may forexample be (an) Intel® Xeon® ES-4669 v3 processor(s) or anotherprocessor. In some embodiments, the processor is capable ofmultitasking. The memory 84 may for example be volatile memory (e.g.RAM), non-volatile memory (e.g. a solid state drive), or a combinationof the two. The port 86 may for example be Cat5e RJ45 Jack forinterconnection of a cable that acts as connection 70 (FIG. 1) betweenthe controller 52 and the injection molding machine 100. The computingdevice 80 may include other components omitted from FIG. 5 for the sakeof clarity.

The memory 84 stores HMI software 88 and controller software 90.

The HMI software 88 is generally responsible for presenting userinterface screens for defining one or more machine protectionconstraints 42, as described below. The HMI software 88 may for examplebe developed in a high-level programming language such as C++, C#, orvisual basic using suitable software libraries and software frameworks.

The controller software 90 is generally responsible for configuring thecontroller 50 to send appropriate machine control commands 72 (FIG. 1),via port 86 (FIG. 5), to molding machine 100 for controlling machineoperation based in part on dynamically received machine stateinformation 74 (FIG. 1). The controller software 90 is also designed toconfigure controller 50, based on machine protection constraints 42received from the HMI 40 (FIG. 1), to protect the machine 100 againstinterference between machine components, as described herein. Thecontroller software 90 may for example be developed using a programminglanguage such as an IEC-61131-3 based language, C, or C++. The softwaremay be suitable for running on a programmable logic controller from amanufacturer such as Beckhoff™, BNR™, Allen Bradley™, or Siemens™ forexample.

Either one or both of the HMI software 88 and controller software 90 maybe loaded into memory 84 from a tangible computer-readable medium 92(FIG. 5), which could for example be an optical disk, a thumb drive, ahard drive, or another form of tangible storage medium.

Referring to FIG. 6, operation 600 of system 30 for programming aprotection device for a molding machine is depicted in flowchart form.Operation 600 may be triggered by a human operator interacting with theHMI 40 (FIG. 1).

Initially, a graphical user interface (GUI) specific to a chosen machinecomponent actuation is presented (operation 602, FIG. 6). This may bedone in response to entry at HMI 40 of a user command for definingmachine protection constraints specific to a particular actuation of achosen machine component.

An example GUI 700 that may be presented in operation 602 is illustratedin FIG. 7. The example GUI 700 of FIG. 7 comprises a dialog box with atitle bar 702. Text in the title bar 702 specifies: (a) the chosenmachine component (ejector 154, identified by the text “Ejector”); and(b) a particular actuation of that machine component (forward, asidentified by the text “Forward”). In the illustrated embodiment, thetextually defined identity of the machine component and the textuallydefined actuation are separated in title bar 702 by a hyphen character“-”. Thus, as should now be apparent from FIG. 7, the illustrated GUI700 is specific to a particular actuation (forward, e.g. versusbackward) of a particular machine component (here, ejector 154).

The example GUI 700 includes a table 704. Each row 706, 708 in table 704represents a distinct machine protection constraint, i.e. a distinctrule regarding a state of the chosen machine component actuation (here,ejector forward) relative to a state of actuation of another machinecomponent, for enforcement by the protection device (controller 50) toprevent interference between the two machine component actuations (i.e.to prevent interference between the two machine component actuationsand/or associated molded articles).

Subsequently, for each of a plurality of other machine componentactuations (i.e. for multiple machine component actuations other thanthe chosen machine component actuation identified in the title bar 702),a rule is defined within the GUI 700, based on operator input. The rulespecifies a state of the chosen machine component actuation (which,again, is ejector forward in this example) relative to a state of theother machine component actuation for preventing interference betweenthe two machine component actuations (operation 604, FIG. 6).

For example, the first row 706 of FIG. 7 specifies a rule whereby, toprevent interference between the ejector 154 and opposing mold half 102(see e.g. FIG. 2), the chosen machine component actuation (ejectorforward, as specified in title bar 702) should position the ejector 154at an offset of 1.0 mm (as specified in field 710), from a referenceposition, AFTER (field 712) the mold opening actuation (field 714) hascause the mold halves 102, 104 separate by 10.0 mm (field 716). The rulespecified in row 706 can be considered to protect the ejector 154 fromcolliding or otherwise interfering with opposing mold half 102 beforethe mold has been opened sufficiently.

To define rule 706, a user interacting with GUI 700 may have initiallyselected an “Add Rule” button 750 (or a similar GUI construct), whichmay have caused row 706, initially blank, to be added to the table 704.The user may have thereafter employed the user input mechanism of HMI 40to specify the values shown in fields 710, 712, 714, and 716 of FIG. 7.For example, the first field 710 specifies a particular state of thecurrent machine component actuation that is relevant for the currentrule. The second field 712 specifies an operator (“AFTER”) defining atemporal relationship between attainment of the relevant state of thecurrent machine component actuation and attainment of the state definedin field 716 of the other machine component actuation (as specified infield 714) for avoiding interference between the two components.

In the illustrated embodiment, pull-down menu buttons 718, 720 (FIG. 7)are used to facilitate specification of values in fields 712, 714respectively from prepopulated lists. The prepopulated list for field712 may include the values “BEFORE,” “AFTER” and “AT.” The prepopulatedlist for field 714 may include a set of distinct actuations ofcomponents of molding machine 100 besides the machine componentactuation identified in the title bar 702. The machine componentactuations presented in a prepopulated list may be context-specific,e.g. may appear in the list only if the actuation is relevant to (ispossible in conjunction with) the current machine component actuation.The use of prepopulated lists may enhance usability but is notabsolutely required.

It will be appreciated that, in GUI 700, the state of each machinecomponent actuation is expressed as, or with reference to, a position(e.g. 1.0 mm, 10.0 mm) of the relevant machine component (e.g. ejector154, mold half 104). In the illustrated example, the position isexpressed as an offset from a reference position (e.g. a start ormolding position) of the relevant molding machine component. However,the state of each machine component actuation may be specified in otherways in alternative embodiments. For example, a machine component'sstate could be expressed relative to the activation state of one or moreproximity switches. In a specific example, a core slider component ofanother molding machine could have respective proximity switches foreach of a “back” position, a “forward” position, and an intermediateposition between the two. A controller could monitor signals from theproximity switches to determine machine component actuation state. In acorresponding GUI, each of the distinct positions could be expressedusing a respective unique to textual identifier, e.g. “back,” “forward,”or “intermediate.” Alternatively, machine component actuation statecould be specified in terms of elapsed time from the time an actuationcommand was issued. For example, a machine component may be consideredto have achieved a predetermined state (e.g. being in a “forward”position) if the actuation signal for moving the component in aparticular direction or trajectory has been on for a predeterminedperiod of time (e.g. one second). The GUI in such an embodiment couldreference the predetermined states using unique textual identifiers orusing an elapsed time since actuation was commenced.

The second row 708 of FIG. 7 similarly specifies a rule whereby, toprevent interference between the ejector 154 and opposing mold half 102at a later stage of mold opening, the chosen machine component actuation(ejector forward, as specified in title bar 702) should be completed (asspecified in field 730) AFTER (field 732, as chosen from a prepopulatedlist using pulldown button 738) the mold opening actuation (field 734,as chosen from a prepopulated list using pulldown button 740) has causedmold halves 102, 104 to separate by 60.0 mm (field 736). The rulespecified in row 708 may be considered to protect the ejector 154 fromcolliding or otherwise interfering with opposing mold half 102 at alater stage of mold opening than the rule defined in the first row 706.

Although not expressly shown in FIG. 7, additional rules pertaining toactuations of other machine components (e.g. extension and/or retractionof the in-mold closing device 106) could be specified in table 704.

If removal of a rule from table 704 were desired, the user could selectthe corresponding row within the table 704 followed by the “Remove Rule”button 752 (or a similar GUI construct). Selection of the “Cancel”button 754 may permit the GUI 700 to be exited without any change to acurrent configuration of the protection device.

Additional GUIs may be used to define rules specific to other machinecomponent actuations (e.g. as shown in FIGS. 9-11, described below).

Thereafter, based on the rules defined within the GUI 700 (and possiblyother GUIs, such as GUIs 900, 1000, and 1100 of FIGS. 9, 10 and 11respectively, described below), the controller 50 is configured to, uponviolation of any one of the rules, trigger an action for reducing a riskof interference between the chosen machine component actuation and arespective one of the other machine component actuations (operation 606,FIG. 6). In the present embodiment, operation 606 may be initiated afteruser selection of the “OK” button 756 of FIG. 7, or a similar construct.Operation 606 may occur in two stages, which are not expressly shown inFIG. 6.

In a first stage of operation 606, the machine protection constraints 42(rules) defined by the GUI(s) are communicated to the controller 50. Inthe present embodiment, the machine protection constraints 42 take theform of a data structure 800 generated by the HMI software 88 (FIG. 5)responsive to user input.

Referring to FIG. 8, the data structure 800 is schematically depicted asa series of tables. The first table 802 is understood to contain all ofthe other tables and thus notionally represents the entirety of datastructure 800. Each of the remaining four tables 820, 840, 860 and 880represents a subordinate element of data structure 800, which may itselfbe a (subordinate) data structure.

The containing table 802 has six rows, each representing a distinctmachine component actuation of molding machine 100. Table 802 may beimplemented as an array of structures (records) for example, where eachstructure in the array corresponds to one row of the table 802. Thetable 802 may include additional rows for actuations of other componentsof molding machine 100 (e.g. stripper ring 124) that are not expresslyshown.

The columns of table 802 represent fields. The first field (firstcolumn) contains unique identifiers for each distinct machine componentactuations. The second field (second column) identifies the relevantmachine component. The third field (third column) identifies therelevant actuation of the component identified in the second field. Thesecond and third fields could be implemented as enumerated types forexample. The fourth field (fourth column) contains machine protectionconstraints (rules) for the machine component actuation represented bythe row. The fourth field may for example be implemented as asubordinate or nested data structure, e.g. an array of structures(records). In this example, the fourth field of table 802 contains, inthe first four rows of table 802, data structures represented by tables820, 840, 860 and 880 respectively.

Each of tables 820, 840, 860 and 880 represents data entered using arespective one of GUIs 700, 900, 1000 and 1100, i.e. corresponds to adistinct machine component actuation (referred to herein as the“current” machine component actuation). Each row in one of these tablesrepresents a distinct rule regarding a permissible state of the currentmachine component actuation, relative to another machine componentactuation, for avoiding interference between the machine componentactuations (between components and/or associated molded articles).

The four tables 820, 840, 860 and 880 adopt a uniform structure in whichcolumns represent fields. The first field (first column) contains uniqueidentifiers for each distinct rule in any of the tables 820, 840, 860 or880. The second “Own State” field (second column) indicates how thestate of the current machine component actuation is characterized. Thisfield may for example be implemented as an enumerated type, e.g. whosevalue may be one of “Position” (meaning that the state is characterizedas a position relative to a reference position), “Proximity” (meaningthat the state is characterized in reference to the activation of aproximity switch), or “Completed” (meaning that the state ischaracterized as completion of the relevant machine componentactuation). The third “Own Position” field (third column) contains avalue representing a position (e.g. a real number representingmillimeters of offset from a reference position) in cases where thevalue of the second “Own State” field is “Position.” The fourth“Operator” field (fourth column) contains an operator (e.g. “After” or“Before”) defining a temporal relationship between attainment of thecurrent machine component actuation state and attainment of the state ofthe other machine component actuation defined by the fifth, sixth andseventh fields (described below) for avoiding interference between thetwo machine component actuations. The fifth “Other Component—Actuation”field identifies the other machine component actuation that is relevantto the rule represented by the row. The fifth field could for example beimplemented as a pointer to one of the unique rows of table 802. Thesixth and seventh “Other State” and “Other Position” fields respectivelyare analogous to the “Own State and “Own Position” fields describedabove, but pertain to the other machine component actuation rather thanthe current machine component actuation. Each of the tables 820, 840,860 and 880 may for example be implemented as an array of structures,where each row in one of the tables corresponds to a single structurewithin the array.

The generated data structure 800 may then be communicated from HMI 40 tocontroller 50 via operative coupling 60 (FIG. 1). Depending upon theembodiment, this communication may use a communication protocol ormethod such as the TCP/IP protocol, shared memory, serialcommunications, and/or an industrial communications bus protocol such asModbus™, Profinet™, or OPC™, to name but a few examples. In someembodiments, the data structure may be bundled or packaged withinstructions defining a complete machine sequence (e.g. an injectionmolding cycle) before it is communicated to the controller 50. Theinstructions may for example be expressed using a high level languagefor programmable logic controllers, such as IEC 61131-3 structured text.

In a second stage of operation 606, the controller 50 may use datastructure 800 to configure itself to effect the rules specified in table704 (FIG. 7). In an example embodiment, the controller 50 may do so byperforming the following operations upon receipt of data structure 800.First, the controller 50 may store the data structure 800 with otherdata structures that is uses to run the molding machine 100. Next, thedata structure 800 may be processed by a controller program, and othersupporting data structures may be generated. Then, the controller 50 mayuse the new data structures and its logic to evaluate machine componentstates, generate commands for different machine component actuators, andevaluate and enforce the machine protection constraints defined usingthe GUIs 700, 900, 1000 and 1100. If any rule is violated, thecontroller 50 may trigger an action for reducing a risk of interferencebetween the machine component actuations.

In some embodiments, the action that is triggered by the controller 50,upon violation of any of the rules of table 704, is an interruption ofan actuation sequence of the machine components at the injection moldingmachine 100 (e.g. interrupting an injection molding cycle). In someembodiments, the action that is triggered by the controller 50, uponviolation of any of the rules of table 704, is the generation of a usernotification at the HMI 40. In one example, the user notification may bea textual message such as “Ejector forward verification failed (Moldstroke 10.0 mm).” The user notification may include additionalinformation or instructions, possibly in the form of text, images, orvideo.

Operation 600 of FIG. 6 is thereby concluded.

It will be appreciated that defining molding machine protection rulesusing a GUI that is specific not only to a particular machine component,but also to a particular actuation of that machine component, may affordvarious benefits. A first possible benefit is that permissiblerelationships between machine component actuations may be defineddifferently for different directions or types of actuations of the samecomponent (e.g. movement forward versus movement backward), possibly toaccount for asymmetric machine component actuations in opposingdirections (see e.g. FIGS. 7 and 9, defining distinct rules for“Ejector—Forward” and “Ejector—Back,” and FIGS. 10 and 11, definingdistinct rules for “In-Mold Closing Device—Forward” and “In-Mold ClosingDevice—Back”). Another benefit is that machine protection constraintsmay be defined differently based on the relative motion between twomachine components, which may differ significantly, e.g. in the casewhen one of the components is moving towards the other versus away fromthe other.

Another benefit is that the GUI may provide a convenient “at a glance”view of all machine protection constraints relevant to a particularmachine component actuation. Additionally, the likelihood of correctlyexpressing machine protection constraints may be improved, e.g. incomparison to historical methods of defining molding machine protectionrules (e.g. using IEC 61131-3), because the GUI may be more readilycomprehensible and intuitive to the human operator and may demand fewerskills to use. The GUI may also beneficially allow many relationships(rules) between machine component actuations to be defined withouthaving to consider unrelated machine component actuations, therebyachieving a good compromise between flexibility and simplicity.

Another GUI 900 that may be presented in operation 602 for anothermachine component actuation is depicted in FIG. 9. The example GUI 900is specific to actuation of ejector 154 in the reverse (backward)direction (see text in title bar 902).

As illustrated, the first row 906 of table 904 in FIG. 9 specifies arule whereby, to prevent interference between the ejector 154 andopposing mold half 102 during mold closing, the chosen machine componentactuation (ejector back) should be completed (as specified in field 910)BEFORE (field 912) the mold closing actuation (field 914) has attained aseparation distance of 100.0 mm between mold halves 102 and 104 (field916).

Yet another example GUI 1000 that may be presented in operation 602 foranother machine component actuation is depicted in FIG. 10. The exampleGUI 1000 is specific to actuation of in-mold closing device 106 (FIG. 1)in the forward direction (see text in title bar 1002).

The first row 1006 of table 1004 in FIG. 10 specifies a first rulewhereby, to prevent interference between the forward-moving in-moldclosing device 106 and the movable mold half 104 during mold opening,the in-mold closing device 106 should be positioned at an offset of 20.0mm, from a reference position (e.g. a molding configuration), AFTER themold opening actuation has cause the mold halves 102, 104 to separate by80.0 mm.

The second row 1008 of table 1004 in FIG. 10 specifies a second rulewhereby, to prevent interference between the forward-moving in-moldclosing device 106 and the movable mold half 104 during mold opening,the in-mold closing device 106 should be positioned at an offset of130.0 mm, from the reference position, AFTER the mold opening actuationhas cause the mold halves to separate by 150.0 mm.

The third row 1010 of table 1004 in FIG. 10 specifies a third rulewhereby, to prevent interference between the forward-moving in-moldclosing device 106 and ejector 154 during mold opening, the in-moldclosing device 106 should be positioned at an offset of 130.0 mm, fromthe reference position, AFTER the ejector has completed its forwardmotion.

A final example GUI 1100 that may be presented in operation 602 foranother machine component actuation is depicted in FIG. 11. The exampleGUI 1100 is specific to actuation of in-mold closing device 106 (FIG. 1)in the backward direction (see text in title bar 1102).

The first row 1106 of table 1104 in FIG. 11 specifies a first rulewhereby, to prevent interference between the backwardly moving in-moldclosing device 106 and forwardly moving stripper ring 124, the in-moldclosing device 106 should be positioned at an offset of 180.0 mm, fromits reference, BEFORE the stripper ring forward actuation is complete.

The second row 1108 of table 1104 in FIG. 11 specifies a second rulewhereby, to prevent interference between the backwardly moving in-moldclosing device 106 and the movable mold half 104 during mold closing,the in-mold closing device 106 should be positioned at an offset of 20.0mm, from the reference position, BEFORE the mold closing actuation hascause the mold halves to achieve a separation distance of 150.0 mm.

It will be appreciated that techniques similar to those described abovemay be used to define machine protection constraints for actuatablecomponents of molding machines besides those specifically recited above,such as mold cores movable into multiple positions during a singlemolding cycle or take-off devices used to remove and cool freshly moldedarticles.

Various alternative embodiments are possible.

For example, although the various example of machine componentactuations described herein primarily result in translation of machinecomponents through three-dimensional space, it will be appreciated thatactuation need not be limited to translation-type movement. For example,machine component actuation in alternative embodiments may impartrotational movement to the respective machine components, possibly incombination with translation-type movement.

In the example GUIs 700, 900, 1000 and 1100, rules are expressed usingtable rows. In alternative embodiments, rules may be expressed usingdifferent UI constructs, e.g. using graphical icons representing machinecomponent actuations and sliders for setting threshold positions, atext-based natural language that is parsed, or others.

In the foregoing descriptions, some machine component actuation statesare described using positions (e.g. 10.0 mm) that, as noted above, areoffsets from a reference position. In some embodiments, the referenceposition may be 0, in which case the states may be considered to beexpressed as absolute positions.

It is not required for the protection device (e.g. controller) to beconfigured to implement machine protection constraints by interpretingor parsing a data structure (e.g. data structure 800) communicated fromthe HMI. The protection device could be configured to implement machineprotection constraints in other ways, e.g. by receiving, from the HMI, aprogram governing the overall operation of molding machine 100, withinwhich the machine protection constraints are incorporated or subsumed.Such a program could for example be encoded using a programming languagesuch as IEC 61131-3 or a similar language.

All of the illustrated embodiments are specific to injection moldingmachines. It will be appreciated that, in alternative embodiments, themolding machine 100 may be something other than an injection moldingmachine, such as a compression molding machine, an injection-compressionmolding machine, or a blow-molding machine.

Other variations are possible within the scope of the claims.

What is claimed is:
 1. A system (30) comprising: a controller (50) foractuating a plurality of actuators (206, 208) of a molding machine (100)in an actuation sequence, each distinct actuation of one of theactuators during the actuation sequence constituting a respectivemachine component actuation of an associated machine component; and ahuman-machine interface ‘HMI’ (40) operable to: present a graphical userinterface ‘GUI’ (700, 900, 1000, 1100) specific to a chosen machinecomponent actuation; and for each of a plurality of other machinecomponent actuations, define within the GUI, based on operator input, arule specifying a state of the chosen machine component actuationrelative to a state of the other machine component actuation forpreventing interference between the two machine component actuations;wherein the controller is configured, based on the rules defined withinthe GUI, to trigger an action, upon violation of any one of the rules,for reducing a risk of interference between the chosen machine componentactuation and a respective one of the other machine componentactuations.
 2. The system of claim 1 wherein the action is interruptingthe actuation sequence.
 3. The system of claim 1 wherein the action isgenerating a user notification at the HMI.
 4. The system of claim 1wherein the GUI comprises a table (704, 904, 1004, 1104) and whereineach rule is represented as a row (706, 708, 906, 1006, 1008, 1010,1106, 1108) within the table.
 5. The system of claim 1 wherein each rulespecifies a temporal relationship between the state of the chosenmachine component actuation and the state of the other machine componentactuation for preventing interference between two machine componentactuations.
 6. The system of claim 5 wherein the temporal relationshipis expressed using a BEFORE or AFTER operator.
 7. The system of claim 1wherein the state of the chosen machine component actuation isexpressed, within the GUI, as a position of the associated machinecomponent actuated by the chosen machine component actuation.
 8. Thesystem of claim 7 wherein the position of the associated machinecomponent is expressed as an offset from a reference position of themachine component.
 9. The system of claim 1 wherein the state of theother machine component actuation is expressed, within the GUI, as aposition of the associated machine component actuated by the othermachine component actuation.
 10. The system of claim 9 wherein theposition of the associated machine component is expressed as an offsetfrom a reference position of the other machine component.
 11. The systemof claim 1 wherein the state of the chosen machine component actuationor the state of the other machine component actuation is expressed,within the GUI, as completed.
 12. The system of claim 1 wherein themolding machine is an injection molding machine and wherein theplurality of other machine component actuations are selected from a setof machine component actuations comprising: mold opening; mold closing;ejector forward; ejector back; stripping device forward; strippingdevice back; take-off device forward; take-off device back; mold coremoving from a first molding position to a second molding position; andmold core moving from the second molding position to the first moldingposition.
 13. A method (600) of programming a controller (50) for amolding machine (100), the controller for actuating a plurality ofactuators (206, 208) of the molding machine (100) in an actuationsequence, each distinct actuation of one of the actuators during theactuation sequence constituting a respective machine componentactuation, the method comprising: presenting (602) a graphical userinterface ‘GUI’ (700, 900, 1000, 1100) specific to a chosen machinecomponent actuation; for each of a plurality of other machine componentactuations, defining (604) within the GUI, based on operator input, arule specifying a state of the chosen machine component actuationrelative to a state of the other machine component actuation forpreventing interference between the two machine component actuations;and configuring (606) the controller, based on the rules defined withinthe GUI, to trigger an action, upon violation of any one of the rules,for reducing a risk of interference between the chosen machine componentactuation and a respective one of the other machine componentactuations.
 14. The method of claim 13 wherein the action isinterrupting the actuation sequence.
 15. The method of claim 13 whereinthe action is generating a user notification.
 16. The method of claim 13wherein the GUI comprises a table (704, 904, 1004, 1104) and whereineach rule is represented as a row (706, 708, 906, 1006, 1008, 1010,1106, 1108) within the table.
 17. The method of claim 13 wherein eachrule specifies a temporal relationship between the state of the chosenmachine component actuation and the state of the other machine componentactuation for preventing interference between two machine componentactuations.
 18. The method of claim 17 wherein the temporal relationshipis expressed using a BEFORE or AFTER operator.
 19. The method of claim13 wherein the state of the chosen machine component actuation isexpressed, within the GUI, as a position of the associated machinecomponent actuated by the chosen machine component actuation.
 20. Themethod of claim 19 wherein the position of the associated machinecomponent is expressed as an offset from a reference position of themachine component.
 21. The method of claim 13 wherein the state of theother machine component actuation is expressed, within the GUI, as aposition of the associated machine component actuated by the othermachine component actuation.
 22. The method of claim 21 wherein theposition of the associated machine component is expressed as an offsetfrom a reference position of the other machine component.
 23. The systemof claim 13 wherein the state of the chosen machine component actuationor the state of the other machine component actuation is expressed,within the GUI, as completed.
 24. A computer-readable medium (92)storing instructions that, when executed by a processor (82) of acomputing device (80) associated with a controller (50) of a moldingmachine (100), the controller operable to actuate a plurality ofactuators (206, 208) of the molding machine in an actuation sequence,each distinct actuation of one of the actuators during the actuationsequence constituting a respective machine component actuation, causethe processor to: present (602) a graphical user interface ‘GUI’ (700,900, 1000, 1100) specific to a chosen machine component actuation; foreach of a plurality of other machine component actuations, define (604)within the GUI, based on operator input, a rule specifying a state ofthe chosen machine component actuation relative to a state of the othermachine component actuation for preventing interference between the twomachine component actuations; and configure (606) the controller, basedon the rules defined within the GUI, to trigger an action, uponviolation of any one of the rules, for reducing a risk of interferencebetween the chosen machine component actuation and a respective one ofthe other machine component actuations.
 25. The computer-readable mediumof claim 24 wherein the controller is part of the computing device.